﻿declare class NDateTime
{
    constructor(year: number, month: number, day: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number, jsDateObject?: any);
    //Properties
    public Date: NDateTime;
    public Day: number;
    public DayOfWeek: number;
    public Hour: number;
    public JavaScriptDateObject: any;
    public Millisecond: number;
    public Minute: number;
    public Month: number;
    public Second: number;
    public Year: number;
    //Static methods
    public static Parse(value: string, format: string): NDateTime;
    public static Now(): NDateTime;
    public static Today(): NDateTime;
    //Methods
    public AddDays(value: number): NDateTime;
    public AddHours(value: number): NDateTime;
    public AddMilliseconds(value: number): NDateTime;
    public AddMinutes(value: number): NDateTime;
    public AddMonths(value: number): NDateTime;
    public AddSeconds(value: number): NDateTime;
    public AddYears(value: number): NDateTime;
    public CompareTo(valueToCompare: NDateTime): number;
    public DaysInMonth(): number;
    public IsLeapYear(): boolean;
    public ToString(value?: string): string;
}

declare class NDateTimeFromJsObject extends NDateTime
{
    constructor(jsDateObject: any);
}

declare class NTimeSpan
{
    constructor(days: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number);
    //Properties
    private _days: number;
    public Days: number;
    public Hours: number;
    public Minutes: number;
    public Seconds: number;
    public Milliseconds: number;
}